home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 526-550 / disk_540 / browser / browserii_src.lzh / Config.c < prev    next >
C/C++ Source or Header  |  1991-06-19  |  2KB  |  71 lines

  1. /*
  2.  *    Config.c - Copyright © 1991 by S.R. & P.C.
  3.  *
  4.  *    Created:    21 Feb 1991  18:18:36
  5.  *    Modified:    19 Jun 1991  18:18:13
  6.  *
  7.  *    Make>> make
  8.  */
  9.  
  10. #include "Global.h"
  11. #include "proto/Config.h"
  12.  
  13.  
  14. extern struct BrowserWindow *CurrentWin;
  15. extern struct Config Config;
  16. extern struct ParMConfig ParMConfig;
  17. extern char *ReqTitle;
  18.  
  19.  
  20. void LoadConfig(void)
  21. {
  22.     struct Config TmpCfg;
  23.     BPTR fh;
  24.     short bytes = 0;
  25.  
  26.     if (fh = Open(CONFIG_FILE, MODE_OLDFILE)) {
  27.         bytes = Read(fh, (char *)&TmpCfg, sizeof(struct Config));
  28.         Close(fh);
  29.         if (bytes < sizeof(struct Config) || strcmp(TmpCfg.IdentString, BROWSER_IDENT_STRING)) {
  30.             SimpleRequest(ReqTitle, CONFIG_FILE_ERROR_MSG, CONFIG_FILE);
  31.             bytes = 0;
  32.         }
  33.         else {
  34.             Config = TmpCfg;
  35.             ParMConfig.SimpleCmdMode = Config.CmdMode;
  36.         }
  37.     }
  38.     if (bytes == 0) {    /* Set default flags */
  39.         Config.CmdMode = ParMConfig.SimpleCmdMode = TRUE;
  40.         Config.RunMode = RM_SHELL|RM_REQUEST;
  41.         Config.Sort = NAME_SORT|TYPE_SORT;
  42.         Config.CopyMode = CM_CONTEXT|CM_ASK_OVERWRITE|CM_COPY_HIERARCHY|CM_COPY_EMPTYDIRS;
  43.         Config.CopyFlags = CF_CLONE;
  44.         Config.Display = DLF_DIRS|DLF_VOLUMES;
  45.         Config.Options = OPT_TOGGLESELECT|OPT_MOVEINTOSUB|OPT_ASKBEFOREMOVE|OPT_ASYNCHRONOUS;
  46.         Config.Select.si_Flags = SI_MATCH_FILES|SI_MATCH_DIRS;
  47.         Config.DefaultFilters.si_Flags = SI_ALL_FILES|SI_ALL_DIRS;
  48.     }
  49. }
  50.  
  51.  
  52. void SaveConfig(void)
  53. {
  54.     BPTR fh;
  55.  
  56.     strcpy(Config.IdentString, BROWSER_IDENT_STRING);
  57.     Config.EntryInfoFlags = CurrentWin->bw_EntryInfoFlags;
  58.     Config.Sort = CurrentWin->bw_Sort;
  59.     Config.DefaultFilters = CurrentWin->bw_FiltersInfo;
  60.     Config.DefaultFilters.si_Flags &= ~SI_INVERT;
  61.  
  62.     if (fh = Open(CONFIG_FILE, MODE_NEWFILE)) {
  63.         Write(fh, (char *)&Config, sizeof(struct Config));
  64.         Close(fh);
  65.     }
  66.     else
  67.         SimpleRequest(ReqTitle, "Couldn't save configuration!");
  68. }
  69.  
  70.  
  71.